0b29af8a9e1a43c3ddf9f19b216867376c902522,core/src/main/java/com/orientechnologies/orient/core/serialization/serializer/record/string/ORecordSerializerCSVAbstract.java,ORecordSerializerCSVAbstract,embeddedMapToStream,#ODatabaseComplex#OUserObject2RecordHandler#OClass#OType#Object#Set#boolean#,386

Before Change


						buffer.append(OStringSerializerHelper.PARENTHESIS_END);
					} else if (o.getValue() instanceof Map<?, ?>) {
						// SUB MAP
						buffer.append(fieldTypeToString(iDatabase, OType.EMBEDDEDMAP, o.getValue()));
					} else {
						// EMBEDDED LITERALS
						if (iLinkedType == null)

After Change


	public String embeddedMapToStream(final ODatabaseComplex<?> iDatabase, final OUserObject2RecordHandler iObjHandler,
			final OClass iLinkedClass, OType iLinkedType, final Object iValue, final Set<Integer> iMarshalledRecords,
			final boolean iSaveOnlyDirty) {
		final StringBuilder buffer = new StringBuilder();
		buffer.append(OStringSerializerHelper.MAP_BEGIN);

		if (iValue != null) {
			int items = 0;
			// EMBEDDED OBJECTS
			ODocument record;
			for (Entry<String, Object> o : ((Map<String, Object>) iValue).entrySet()) {
				if (items > 0)
					buffer.append(OStringSerializerHelper.RECORD_SEPARATOR);

				if (o != null) {
					fieldTypeToString(buffer, iDatabase, OType.STRING, o.getKey());
					buffer.append(OStringSerializerHelper.ENTRY_SEPARATOR);

					if (o.getValue() instanceof ORecord<?>) {
						if (o.getValue() instanceof ODocument)
							record = (ODocument) o.getValue();
						else
							record = OObjectSerializerHelper.toStream(o.getValue(), new ODocument((ODatabaseRecord) iDatabase, o.getValue()
									.getClass().getSimpleName()),
									iDatabase instanceof ODatabaseObjectTx ? ((ODatabaseObjectTx) iDatabase).getEntityManager()
											: OEntityManagerInternal.INSTANCE, iLinkedClass, iObjHandler != null ? iObjHandler
											: new OUserObject2RecordHandler() {

												public Object getUserObjectByRecord(ORecordInternal<?> iRecord, final String iFetchPlan) {
													return iRecord;
												}

												public ORecordInternal<?> getRecordByUserObject(Object iPojo, boolean iIsMandatory) {
													return new ODocument(iLinkedClass);
												}

												public boolean existsUserObjectByRID(ORID iRID) {
													return false;
												}

												public void registerPojo(Object iObject, ORecordInternal<?> iRecord) {
												}
											}, null, iSaveOnlyDirty);

						buffer.append(OStringSerializerHelper.PARENTHESIS_BEGIN);
						// buffer.append(OStringSerializerHelper.fieldTypeToString(iLinkedType, record));
						buffer.append(toString(record, null, iObjHandler, iMarshalledRecords));
						buffer.append(OStringSerializerHelper.PARENTHESIS_END);
					} else if (o.getValue() instanceof Map<?, ?>) {
						// SUB MAP
						fieldTypeToString(buffer, iDatabase, OType.EMBEDDEDMAP, o.getValue());
					} else {
						// EMBEDDED LITERALS
						if (iLinkedType == null)